package com.fjw.controller;


import com.fjw.pojo.Result;
import com.fjw.pojo.Store;
import com.fjw.pojo.User;
import com.fjw.service.StoreService;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@RestController
@RequestMapping("/store")
public class StoreController {

    @Autowired
    private StoreService storeService;

    /**
     * 获取所有店铺信息
     * @return 店铺列表
     */
    @GetMapping("/getAll")
    public Result<List<Store>> getAll() {
        List<Store> res = storeService.getAll();
        return Result.success(res);

    }

    /**
     * 通过ID查询店铺信息
     * @param id 店铺ID
     * @return 店铺实体
     */
    @GetMapping("/findById")
    public Result<Store> findById(Integer id) {
        Store store = storeService.findById(id); // 调用修正后的方法
        return Result.success(store);
    }

    /**
     * 新增店铺信息
     * @param store 店铺实体
     * @return 操作结果
     */
    @PostMapping("/add")
    public Result add(@RequestBody Store store) {
        storeService.add(store);
        return Result.success();
    }

    /**
     * 通过ID更新店铺信息
     * @param store 店铺实体
     * @return 操作结果
     */
    @PostMapping("/updateById")
    public Result updateById(@RequestBody Store store) {
        storeService.updateById(store);
        return Result.success();
    }

    /**
     * 通过ID删除店铺信息
     * @param id 店铺ID
     * @return 操作结果
     */
    @DeleteMapping("/deleteById")
    public Result deleteById(Integer id) {
        storeService.deleteById(id);
        return Result.success();
    }

    /**
     * 获取权限为管理员的用户列表
     * @return 用户列表
     */
    @GetMapping("/getAdminUsers")
    public Result<List<User>> getAdminUsers() {
        List<User> res = storeService.getAdminUsers();
        return Result.success(res);
    }


}